Using an ML-Like Language to Specify the Semantics of Machine Instructions
نویسنده
چکیده
Languages in the Computer Systems Description Languages (CSDL) family describe properties of machines. The descriptions are used to generate machine-dependent components of systems software. CSDL speciies instruction semantics using register transfer lists. Much information that is implicit in other register-transfer frameworks is explicit in CSDL. So much detail is required that it would be unrealistic to expect people to write these register transfers directly; a metalanguage is needed. The metalanguage, called-RTL, is based on ML. ML types and type inference are extended to provide polymorphism in \widths" as well as types, enabling the-RTL translator to infer much of the detail needed. Higher-order functions enable exploration and discovery of idioms that will be useful for specifying the semantics of machine instructions. ML extended with subtyping enables-RTL programmers to leave fetches implicit , resulting in a notation that is familiar to compiler writers and machine designers.-RTL contains polymorphic primitives in which the width of the result is independent of the width of an argument. Applying such primitives may result in terms with free \width variables." It would be counterpro-ductive to forbid such terms; they occur too frequently.-RTL typically constrains such variables, and it binds one by choosing the minimal integer satisfying the constraint.
منابع مشابه
Declarative Semantics in Object-Oriented Software Development - A Taxonomy and Survey
One of the modern paradigms to develop an application is object oriented analysis and design. In this paradigm, there are several objects and each object plays some specific roles in applications. In an application, we must distinguish between procedural semantics and declarative semantics for their implementation in a specific programming language. For the procedural semantics, we can write a ...
متن کاملDynamic Semantics for Language-Based Programming Environments Revisited
Montages are a semi-visual language specification formalism recently proposed by some of the authors. This framework has been successfully used to give complete executable specifications of languages like C and Java. This paper compares Montages with action equations, both being paradigms for incorporating a means for specifying dynamic semantics in an environment generator using an attribute g...
متن کاملTyped Machine Language and its Semantics
We present TML, a new low level typed intermediate language for the proof-carrying code framework. The type system of TML is expressive enough to compile high level languages like core ML to and can be guaranteed sound. It is also flexible enough to provide a lot of freedom for low-level data representations. We can model real machine instructions in TML, and thus avoid high-level opaque operat...
متن کاملApplication of Frame Semantics to Teaching Seeing and Hearing Vocabulary to Iranian EFL Learners
A term in one language rarely has an absolute synonymous meaning in the same language; besides, it rarely has an equivalent meaning in an L2. English synonyms of seeing and hearing are particularly grammatically and semantically different. Frame semantics is a good tool for discovering differences between synonymous words in L2 and differences between supposed L1 and L2 equivalents. Vocabulary ...
متن کاملOperational Machine Specification in a Functional Programming Language
This paper advocates the use functional programming languages for the formal specification of (abstract) machines. The presented description method describes machines by a two-level model. At the bottom layer machine components and the micro instructions to handle them are described by using an abstract data type. The top layer describes the machine instructions in terms of these micro instruct...
متن کامل